Automatic Programming with Grammatical Evolution
نویسنده
چکیده
The aim of this work is to develop an Automatic Programming system drawing inspiration from biological genetic systems. Grammatical Evolution (GE), a system which can generate code in any language from variable length binary strings is the result of this investigation. Using a language definition in the form of a Backus Naur Form grammar permits the generation of programs in any language, of arbitrary complexity, through a genotype to phenotype mapping process. Grammatical Evolution (GE) is a grammar based, variable length, linear genome system which is capable of generating code in any language. Rather than the functions and terminals associated with GP [5], GE takes a BNF specification of a language, or subset thereof, from which it can subsequently generate code. The BNF is used in a genotype to phenotype mapping process which produces a program from the genotypic binary string. Various genetic programming systems using grammars, and genotype to phenotype mapping have been developed prior to GE by other researchers, for examples see [3] [1] [15] [16] [2] [11], however GE’s unique mapping process is it’s distinguishing feature, see [10] for a description. Although, at present the search technique used by the system is a Genetic Algorithm, conceivably any technique which can search variable length binary strings could be employed. Investigations in other possible search methods, and a comparison of their performances, has yet to be conducted. In order to facilitate the evolutionary process in this system, a linear degenerate genetic code, along with a genotype to phenotype mapping has been used. The degenerate code means that there is a complex many to one mapping, i.e. codons of different values can represent the same production rule of the BNF definition. It is envisaged that these two principles serve to maintain validity of the phenotypic programs whilst allowing an unconstrained search to be performed upon the genotypic binary string. According to the neutral theory of molecular evolution [4] these principles should also serve to maintain genetic diversity within the population. This is due to the occurrence of neutral mutations, mutations which have no effect on the fitness of the phenotype. Following on from Kimura’s theory the idea of neutral networks has been developed. A neutral network is comprised of individuals in the search space which are separated by single-point neutral mutations. It has been shown that within such a fitness landscape with increasing degrees of neutrality the maximum fitness attainable in a population increases [6]. The implications for GE have yet to be empirically investigated, however the suggestion is that by increasing the degeneracy in the code, the maximum obtainable fitness should rise. During the mapping process it is possible to generate invalid (incompletely mapped) individuals, and so to counteract the transmission of these individuals to subsequent generations a Steady State replacement mechanism is employed [14]. A consequence of the Steady State method is its tendency to maintain fit individuals at the expense of less fit, and in particular, invalid individuals as these are given the lowest possible fitness value.
منابع مشابه
A Comparative Study of Genetic Programming and Grammatical Evolution for Evolving Data Structures
The research presented in the paper forms part of a larger initiative aimed at automatic algorithm induction using machine learning. This paper compares the performance of two machine learning techniques, namely, genetic programming and a variation of genetic programming, grammatical evolution, for automatic algorithm induction. The application domain used to evaluate both the approaches is the...
متن کاملGrammatical Evolution: Evolving Programs for an Arbitrary Language
We describe a Genetic Algorithm that can evolve complete programs. Using a variable length linear genome to govern how a Backus Naur Form grammar deenition is mapped to a program, expressions and programs of arbitrary complexity may be evolved. Other automatic programming methods are described, before our system, Grammatical Evolution, is applied to a symbolic regression problem.
متن کاملConstituent Grammatical Evolution
We present Constituent Grammatical Evolution (CGE), a new evolutionary automatic programming algorithm that extends the standard Grammatical Evolution algorithm by incorporating the concepts of constituent genes and conditional behaviour-switching. CGE builds from elementary and more complex building blocks a control program which dictates the behaviour of an agent and it is applicable to the c...
متن کاملExposing a Bias Toward Short-Length Numbers in Grammatical Evolution
Many automatically-synthesized programs have, like their hand-made counterparts, numerical parameters that need to be set properly before they can show an acceptable performance. Hence, any approach to the automatic synthesis of programs needs the ability to tune numerical parameters efficiently. Grammatical Evolution (GE) is a promising grammar-based genetic programming technique that synthesi...
متن کاملA Grammatical Evolution Model for Reservoir Inflow Forecasting
This paper explores the feasibility of applying a grammatical evolution (GE) system and combines it with the genetic algorithm (GA) to establish the inflow predicting model of De-Chi Reservoir in central Taiwan. First, a GE is an evolutionary automatic programming type system, which can discover relationships among observed data and express them mathematically. Further, a GA was used with this ...
متن کاملExposing a Bias Toward Short-Length Numbers in Grammatical Evolution
Many automatically-synthesized programs have, like their hand-made counterparts, numerical parameters that need to be set properly before they can show an acceptable performance. Hence, any approach to the automatic synthesis of programs needs the ability to tune numerical parameters efficiently. Grammatical Evolution (GE) is a promising grammar-based genetic programming technique that synthesi...
متن کامل